package com.lt.schoolchat.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lt.schoolchat.model.mongo.Video;
import com.lt.schoolchat.model.vo.VideoVO;
import org.bson.types.ObjectId;

/**
 * @description:
 * @author: ~Teng~
 * @date: 2023/5/17 10:46
 */
public interface SmallVideosService {
    /**
     * 发布小视频
     *
     * @param videoThumbnailUrl 封面图地址
     * @param videoFileUrl      视频文件地址
     * @param text              文案
     * @param userId            用户id
     */
    void saveVideo(String videoThumbnailUrl, String videoFileUrl, String text, Long userId);

    /**
     * 分页查询视频列表
     *
     * @param current  当前页
     * @param pageSize 每页条数
     * @param userId   用户id
     * @return 分页数据
     */
    Page<VideoVO> queryVideoList(long current, long pageSize, Integer likeCount, Long userId);

    /**
     * 根据id获取视频
     *
     * @param id 主键id
     */
    Video getVideoById(ObjectId id);

    /**
     * 根据id删除视频
     *
     * @param id 主键id
     */
    void removeById(ObjectId id);

    /**
     * 更新小视频
     *
     * @param id                主键id
     * @param videoThumbnailUrl 封面图地址
     * @param videoFileUrl      视频文件地址
     * @param text              文案
     * @param userId            用户id
     */
    void updateVideo(ObjectId id, String videoThumbnailUrl, String videoFileUrl, String text, Long userId);
}
